let startY = 0;// 手指起始的Y坐标
let moveY = 0;// 手指移动的Y坐标
let moveDistanc = 0;// 手指移动的距离
// 导入ajax
import request from "../../utils/request"
Page({
  /**
   * 页面的初始数据
   */
  data: {
    coverTransform: 'translateY(0)', // 页面移动的距离
    coveTransition: '',  // 过渡效果
    userInfo: {},// 用户信息
    resentPlayList: [],// 用户播放记录
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 从本地存储中获取用户数据
    let value = wx.getStorageSync('userInfo')
    if (value) {
      //  更新userInfo状态数据  JSON.parse() 方法将数据转换为 JavaScript 对象。
      this.setData({
        userInfo: JSON.parse(value)
      })

      //  获取用户播放记录
      this.getUserTecentPlayList(this.data.userInfo.userId);
    }
  },
  // 获取用户播放记录的功能函数
  async getUserTecentPlayList(ID) {
    let reventPlayListData = await request('/user/record', { uid: ID, type: 0 });
    // 因为reventPlayListData.allData下没有唯一的id属性，我们给他添加一个方便遍历
    let index = 0;
    // ES6高阶函数 map()函数的使用 遍历数组 有返回值 返回一个新的数组
    let resentPlayList = reventPlayListData.allData.splice(0,10).map(item=>{
      item.id = index++;
      return item;
    })
    console.log(resentPlayList);
    // 更新resentPlayList状态数据resentPlayList
    this.setData({
      // 截取10条数据 .splice(0,10)
      resentPlayList
    })
  },

  // event 事件的默认参数
  handleTouchStart(event) {// 手指点击时触发
    // 获取手指起始时的Y坐标
    startY = event.touches[0].clientY;
    this.setData({
      // 清除之前的过渡效果
      coveTransition: ''
    })
  },
  handleTouchMove(event) { // 手指滑动时触发
    // 获取手指移动的Y坐标
    moveY = event.touches[0].clientY;
    // 计算手指的移动距离
    moveDistanc = moveY - startY;
    // 控制页面不能向上移动
    if (moveDistanc <= 0) {
      return;
    }
    // 控制移动的幅度
    if (moveDistanc >= 80) {
      moveDistanc = 80;
    }
    // 根据手指移动的距离动态的更新coverTransform的状态值
    this.setData({
      coverTransform: `translateY(${moveDistanc}rpx)`
    })
  },
  handleTouchEnd() { // 手指离开时触发
    // 手指离开后让页面会到原来的位置
    this.setData({
      coverTransform: `translateY(0rpx)`,
      // 1.要过渡的属性 持续时间 过渡的曲线(样式、函数)
      coveTransition: 'transform 1s linear'
    })
  },
  toLogin() {// 跳转至login登录页面的回调
    wx.reLaunch({
      url: '/pages/login/login?distinguish=' + "personal",
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})